iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 17
0
Modern Web

初學者前端應用30天系列 第 17

[DAY17] vue media套件

  • 分享至 

  • xImage
  •  

media套件是基於Css來改動,他可以偵測版面大小來控制html元素或調整css的效果。

本篇文章是參考:
點我

安裝

在你的專案資料夾開啟cmd輸入

npm add vue-media

開啟專案,在你想用media的元件裡import media。

import Media from 'vue-media'
export default {
  components: {
    Media
  },
}

就可以使用了


範例

我們只要在template輸入media標籤,並設定條件,他就會即時偵測頁面長寬判斷是否執行media標籤裡的html標籤。這是直接在template修改的方法。

<template>
  <div class="home">
    <media :query="{minWidth: '400px'}">
        <p>寬度大於400px</p>
    </media>
    <media :query="{maxWidth: '400px'}">
        <p>寬度小於400px</p>
    </media>
    <media :query="{minHeight: '300px'}">
        <p>高度大於300px</p>
    </media>
    <media :query="{maxHeight: '300px'}">
        <p>高度小於300px</p>
    </media>
  </div>
</template>

接著我們來做在css修改的方法。
在css裡增加media,就會依據你的條件來更改css。

  @media (min-width:1px) and (max-width:200px){
      .show{
        background-color: red;
      }
  }
  @media (min-width:201px) and (max-width:400px){
      .show{
        background-color: green;
      }
  }
  @media (min-width:401px) and (max-width:600px){
      .show{
        background-color: blue;
      }
  }
  @media (min-width:601px) and (max-width:800px){
      .show{
        background-color: yellow;
      }
  }
  @media (min-width:801px){
      .show{
        background-color: chocolate;
      }
  }

media還能判斷你的裝置是橫向還是直向,請看以下程式碼。

<h1>直立時是紅色,橫立時是藍色</h1>

orientation: portrait是直向
orientation: landscape是橫向

  @media (orientation: portrait){
    h1{
      color: red;
    }
  }
  @media (orientation: landscape){
    h1{
      color: blue;
    }
  }

上一篇
[DAY16]vue-drag-resize套件
下一篇
[DAY18] vue hooper 套件
系列文
初學者前端應用30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言